package com.aliyun.messagemgt.application.service;

import com.aliyun.messagemgt.dto.PushChannelAdd;
import com.aliyun.messagemgt.dto.PushChannelList;
import com.aliyun.messagemgt.dto.query.PushChannelQuery;
import com.github.pagehelper.PageInfo;

/**
 * @author
 * @date
 */
public interface ChannelService {
    /**
     * 保存推送取到
     * @param pushChannelAdd
     * @return
     */
    Object savePushChannel(PushChannelAdd pushChannelAdd);

    /**
     * 提交推送渠道
     * @param pushChannelAdd
     * @return
     */
    Object commitPushChannel(PushChannelAdd pushChannelAdd);

    /**
     * 列出推送渠道
     * @param pushChannelQuery
     * @return
     */
    PageInfo<PushChannelList> listPushChannel(PushChannelQuery pushChannelQuery);

    /**
     * 顶置功能
     * @param pushChannelQuery
     * @return
     */
    Object topChannel(PushChannelQuery pushChannelQuery);

    /**
     * 删除推送渠道
     * @param pushChannelQuery
     * @return
     */
    Object delPushChannel(PushChannelQuery pushChannelQuery);

    /**
     * 修改推送渠道
     * @param pushChannelAdd
     * @return
     */
    Object modPushChannel(PushChannelAdd pushChannelAdd);

    /**
     * 查询渠道详细信息
     * @param pushChannelQuery
     * @return
     */
    Object detailChannel(PushChannelQuery pushChannelQuery);

    /**
     * 测试渠道连通性
     * @param pushChannelAdd
     * @return
     */
	int testConnection(PushChannelAdd pushChannelAdd);

    /**
     * 2020年4月10日
     * 海南政务对接阿里CSB，不改动前端页面，这里测试CSB联通性
     * @return 1-成功 0-失败
     */
	int testCsbConnection(PushChannelAdd pushChannelAdd);

	Object channelsTypes(PushChannelQuery pushChannelQuery);

    /**
     *
     * 启用禁用
     * @param pushChannelQuery
     * @return
     */
    Object updateStatus(PushChannelQuery pushChannelQuery);
}
